package cn.com.hhrcw.sms.service;

import cn.com.hhrcw.sms.entity.SysSmsTemplate;
import com.baomidou.mybatisplus.extension.service.IService;

import java.io.File;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author lixingxing
 * @since 2020-08-12
 */
public interface ISysSmsTemplateService extends IService<SysSmsTemplate> {

    /**
     * 手机号格式化
     *
     * @param mobile
     * @return
     */
    default String[] formatMobile(String[] mobile) {
        for (int i = 0; i < mobile.length; i++) {
            if (mobile[i].contains("@")) {
                mobile[i] = mobile[i].split("@")[0];
            }
        }
        return mobile;
    }

    /**
     * 发送短信
     *
     * @param type
     * @param mobile
     * @return
     */
    boolean sendSms(String type, String[] mobile);

    /**
     * sendNew
     *
     * @param code
     * @param map
     * @return
     */
    String sendNews(String code, Map<String, Object> map);

    /**
     * getTitle
     *
     * @param code
     * @return
     */
    String getTittle(String code);

    /**
     * 发送普通短信
     *
     * @param mobile
     * @param content
     * @return
     */
    boolean sendSms(String[] mobile, String content);

    /**
     * 发送钉钉短信
     *
     * @param mobile
     * @param content
     * @param msgType
     * @return
     */
    boolean sendddSms(String[] mobile, String content, String msgType);

    /**
     * 发送普通邮件
     *
     * @param code       消息编码
     * @param parameters 消息参数
     * @param to         收件人
     */
    void sendEmail(String code, Map<String, Object> parameters, String... to);

    /**
     * 发送附件
     *
     * @param code       消息编码
     * @param parameters 消息参数
     * @param file       文件
     * @param to         收件人
     */
    void sendEmail(String code, Map<String, Object> parameters, File file, String... to);

    /**
     * 发送html邮件
     *
     * @param text    消息内容
     * @param subject 标题
     * @param to      收件人
     */
    void sendEmail(String text, String subject, String... to);

    /**
     * 发送附件
     *
     * @param text    消息内容
     * @param subject 标题
     * @param file    文件
     * @param to      收件人
     */
    void sendEmail(String text, String subject, File file, String... to);
}
